#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Software: PyCharm
# @Version : Python-
# @Author  : Shengji He
# @Email   : hsjbit@163.com
# @File    : ReverseString.py
# @Time    : 2020/10/8 12:42
# @Description:
from typing import List


class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Write a function that reverses a string. The input string is given as an array of characters char[].

        Do not allocate extra space for another array, you must do this by modifying the input array in-place
        with O(1) extra memory.

        You may assume all the characters consist of printable ascii characters.

        Example 1:
            Input: ["h","e","l","l","o"]
            Output: ["o","l","l","e","h"]
        Example 2:
            Input: ["H","a","n","n","a","h"]
            Output: ["h","a","n","n","a","H"]

        Do not return anything, modify s in-place instead.
        """
        if not s:
            return
        n = len(s)
        i, j = 0, n - 1
        while i < j:
            s[i], s[j] = s[j], s[i]
            i += 1
            j -= 1
        return


if __name__ == '__main__':
    solution = Solution()
    s = ["h", "e", "l", "l", "o"]
    print(solution.reverseString(s))
    print('done')
